Timm Bäder [Fri, 28 Dec 2018 15:53:17 +0000 (16:53 +0100)]
testsuite: Remove box packing css node tests
Testing the correct css order for mixed pack-start/pack-end cases
doesn't make sense if boxes don't have a notion of pack-type anymore.
Timm Bäder [Wed, 26 Dec 2018 08:49:10 +0000 (09:49 +0100)]
box: Remove pack-type child property
Timm Bäder [Wed, 26 Dec 2018 08:23:45 +0000 (09:23 +0100)]
assistant: Fix button order in ui file
Timm Bäder [Wed, 26 Dec 2018 08:00:08 +0000 (09:00 +0100)]
dialog: Expose the content area as a separate GtkBox child
This way, the "vbox" internal child does not contain anything by
default. It previously did contain "internal" widgetry like the action
area.
Timm Bäder [Wed, 26 Dec 2018 07:55:46 +0000 (08:55 +0100)]
Stop using GtkBox's pack-type child prop in UI files
Timm Bäder [Wed, 26 Dec 2018 07:34:47 +0000 (08:34 +0100)]
combobox: Stop using GtkBox's pack-type property
Reorder the child widgets accordingly instead.
Timm Bäder [Wed, 26 Dec 2018 07:26:41 +0000 (08:26 +0100)]
scalebutton: Stop relying on GtkBox's pack-type child prop
Timm Bäder [Wed, 26 Dec 2018 07:20:34 +0000 (08:20 +0100)]
Stop using gtk_box_pack_end
It might soon go away!
Timm Bäder [Wed, 26 Dec 2018 06:45:31 +0000 (07:45 +0100)]
tests: Remove flicker test
gtk+ hasn't been flickering in ages so this test isn't very useful.
Timm Bäder [Wed, 26 Dec 2018 06:08:16 +0000 (07:08 +0100)]
shortcutssection: Use a center box as footer
Matthias Clasen [Thu, 24 Jan 2019 00:27:35 +0000 (19:27 -0500)]
Update a11y tests
Working towards a passing testsuite.
Matthias Clasen [Wed, 23 Jan 2019 17:02:27 +0000 (12:02 -0500)]
switch: Avoid problems with glyph availability
If none of the glyphs we want are available, fall
back to using empty strings here, rather than causing
critical warnings.
Jakub Steiner [Tue, 22 Jan 2019 12:57:07 +0000 (12:57 +0000)]
Merge branch 'expander-row-padding' into 'master'
adwaita: Fix the padding of row.expander
See merge request GNOME/gtk!521
Adrien Plazas [Tue, 22 Jan 2019 11:43:07 +0000 (12:43 +0100)]
adwaita: Fix the padding of row.expander
This will allow to implement the expanding rows pattern.
Benjamin Otte [Tue, 22 Jan 2019 03:30:47 +0000 (04:30 +0100)]
build: Reintroduce warning flags from autotools
Some of the flags got lost in the meson transition or were demoted from
error flags to warning flags.
This commit reintroduces them.
It also includes fixes for the code that had warnings with those flags.
The big one being -Wshadow.
Benjamin Otte [Sun, 20 Jan 2019 15:09:36 +0000 (16:09 +0100)]
meson.build: Order warning flags alphabetically
... and remove the duplicate we already had.
Benjamin Otte [Tue, 22 Jan 2019 03:28:14 +0000 (04:28 +0100)]
imcontextwayland: Get rid of global variable
Attach it to the GdkDisplay.
Also fixes -Wshadow complaining about "global" being shadowed.
Benjamin Otte [Sun, 20 Jan 2019 23:48:48 +0000 (00:48 +0100)]
immodule: Clean up loading code
Remove the unneeded is_platform() check and just go by extension point
priority.
Also g_error() out if no im module exists, because "simple" is compiled
in and should always exist.
Benjamin Otte [Sun, 20 Jan 2019 23:47:30 +0000 (00:47 +0100)]
imcontext: Fix priorities of modules
All built-in backend modules get a priority of 0 because they are the
default ones.
GtkIMContextSimple gets a priority of G_MININT because it's the fallback
one.
This mirrors the media modules code.
Timm Bäder [Mon, 21 Jan 2019 07:05:26 +0000 (07:05 +0000)]
Merge branch 'no-more-bgo' into 'master'
docs: Point people at the right place for bugs
Closes #1559
See merge request GNOME/gtk!498
Chun-wei Fan [Mon, 21 Jan 2019 05:49:20 +0000 (13:49 +0800)]
testsuite/gtk/slicelistmodel.c: Avoid VLAs
Unfortunately VLA's are unlikely to be supported on any Visual Studio
versions, although it is C99, so replace it with g_newa() calls.
Pieter Schalk Schoeman [Sun, 20 Jan 2019 23:28:41 +0000 (23:28 +0000)]
Update Afrikaans translation
Pieter Schalk Schoeman [Sun, 20 Jan 2019 23:26:52 +0000 (23:26 +0000)]
Update Afrikaans translation
Matthias Clasen [Sun, 6 Jan 2019 17:25:50 +0000 (12:25 -0500)]
testsuite: Add slice model tests
Do the same style of tests we do for all the
other list models. These tests found the issue
fixed in the previous commit.
Matthias Clasen [Sun, 6 Jan 2019 17:24:57 +0000 (12:24 -0500)]
slice model: Don't report excessive changes
We were not skipping an unchanged initial segment
of the slice in some cases. Fix that.
Benjamin Otte [Sun, 20 Jan 2019 05:07:52 +0000 (06:07 +0100)]
rbtree: Fix a crash in insertion fixup
This got broken in commit
a33ff4c6ab3a196b3c71da48e4e650da85d1691c.
Testcase included.
Benjamin Otte [Sun, 20 Jan 2019 05:06:18 +0000 (06:06 +0100)]
rbtree: Add a trivial way to add rbtree tests to the testsuite.
The format of the printout will be suitable for addition as a new test to
testsuite/gtk/rbtree-crash.c
by just grepping the printouts from the relevant rbtree.
Matthias Clasen [Sat, 19 Jan 2019 01:13:42 +0000 (01:13 +0000)]
Merge branch 'reference-include' into 'master'
Specify the C include for Unix printing API
See merge request GNOME/gtk!516
Michael Catanzaro [Wed, 16 Jan 2019 01:51:00 +0000 (19:51 -0600)]
filechoosernativeportal: stuff the current filter into options
We need to tell the portal what filter is supposed to be selected by
default, or it will just pick the first one, which could be wrong and
annoying.
This will require updated xdg-desktop-portal and xdg-desktop-portal-gtk
to work properly.
Fixes #1492
Michael Catanzaro [Tue, 15 Jan 2019 02:53:19 +0000 (20:53 -0600)]
filechoosernativeportal: remove redundant casts
We are casting from GtkFileChooserNative to... GtkFileChooserNative.
Boo.
Michael Catanzaro [Thu, 29 Nov 2018 21:34:17 +0000 (15:34 -0600)]
filechoosernative: forward current_filter to delegate dialog
gtk_file_chooser_set_filter() doesn't work for GtkFileChooserNative. The
code forwards added and removed filters to the delegate dialog, but
doesn't do anything to set the selected one, so the wrong one gets
chosen. So fix that.
This only fixes the fallback dialog. The portal will be fixed in a
subsequent commit.
Partial fix for #1492
Emmanuele Bassi [Sat, 19 Jan 2019 00:00:34 +0000 (00:00 +0000)]
Specify the C include for Unix printing API
Instead of using the INCLUDE directive inside the sections file, we can
specify the default C include in the gtkdoc-mkdb arguments, and override
it inside the C sources that need it.
Emmanuele Bassi [Fri, 18 Jan 2019 23:13:31 +0000 (23:13 +0000)]
Merge branch 'master' into 'master'
A11y: export gtk_cell_accessible_parent_get_(row|column)_header_cells
See merge request GNOME/gtk!505
Matthias Clasen [Fri, 18 Jan 2019 22:43:54 +0000 (22:43 +0000)]
Merge branch 'switch-fallback' into 'master'
Add fallback glyphs for GtkSwitch states
See merge request GNOME/gtk!509
Matthias Clasen [Wed, 16 Jan 2019 04:16:16 +0000 (23:16 -0500)]
about dialog: Use ::activate-link for license
This should behave the same as all the other links
in this dialog.
Closes: #1561
Timm Bäder [Fri, 18 Jan 2019 12:06:41 +0000 (13:06 +0100)]
gl renderer: Support (not) resetting the opacity for offscreen nodes
We usually want to do that, but it's wrong for e.g. crossfade nodes.
Timm Bäder [Fri, 18 Jan 2019 10:29:44 +0000 (11:29 +0100)]
entry: Use pango_layout_get_log_attrs_readonly
Since we're not modifying anything...
Timm Bäder [Fri, 18 Jan 2019 09:47:16 +0000 (10:47 +0100)]
entry: Use a label as placeholder
This gives us a better way of choosing the color of the placeholder text
(and enabled general css styling on it of course).
Closes #378 (If you want to keep the placeholder on focused and empty
entries, just don't set the placeholder opacity to 0 in
entry:focus>placeholder. This is the default behavior but this commit
includes a rule in Adwaita to hide it.
Timm Bäder [Fri, 18 Jan 2019 09:41:59 +0000 (10:41 +0100)]
entry: Trivial indentation fix
Timm Bäder [Fri, 18 Jan 2019 08:28:03 +0000 (09:28 +0100)]
tooltip: Use gdk_rectangle_contains_point
Timm Bäder [Fri, 18 Jan 2019 08:16:44 +0000 (09:16 +0100)]
tooltip: Move tooltips enabled checks into tooltips_enabled
Timm Bäder [Fri, 18 Jan 2019 07:48:07 +0000 (08:48 +0100)]
tooltip: Look at the event's target widget
Since we now have a widget whenever we query tooltips, we can as well
get the events target_widget if we have an event (which is what we do
when coming from gtkmain.c). This keeps us from searching the entire
widget hierarchy for the target event even though we've already done
that for pointing events in gtkmain.c
This reduced the work done in gtk_tooltip_handle_event in normal motion
events to basically nothing since we already did all the heavy lifting
when handling the pointing event in gtkmain.c
Timm Bäder [Fri, 18 Jan 2019 07:34:59 +0000 (08:34 +0100)]
tooltip: Remove gtk_tooltip_trigger_tooltip_query
As stated by the documentation, this should be called when a widget gets
updated, but in that case, one can equally use
gtk_widget_trigger_tooltip_query.
Timm Bäder [Fri, 18 Jan 2019 07:27:28 +0000 (08:27 +0100)]
tooltips: Remove keyboard mode tooltips
Keyboard mode was only used in gtk_widget_real_show_help before, but now
that's gone and so is any usage of keyboard mode tooltips.
Timm Bäder [Fri, 18 Jan 2019 07:01:40 +0000 (08:01 +0100)]
gizmo: return void from snapshot func
This boolean return was from the old gadget code and we weren't using it
in the new gizmo code.
Timm Bäder [Wed, 16 Jan 2019 13:24:59 +0000 (14:24 +0100)]
scrolledwindow: Reset indicators in unmap()
This is unrelated to any windowing resources these days, so no need for
an unrealize handler.
Timm Bäder [Thu, 17 Jan 2019 16:08:58 +0000 (17:08 +0100)]
filechooserwidget: Show spinner when searching
This was lost it seems
Timm Bäder [Thu, 17 Jan 2019 16:02:49 +0000 (17:02 +0100)]
GdkEvent: Make gdk_event_set_user_data private
Timm Bäder [Thu, 17 Jan 2019 15:29:40 +0000 (16:29 +0100)]
GdkEvent: Remove unused struct
Timm Bäder [Thu, 17 Jan 2019 15:26:24 +0000 (16:26 +0100)]
GdkEvent: Add a proper user_data member to GdkEventAny
Setting it as qdata on the object doesn't save any memory since we use
the user_data as the event target, which every event has set these days.
This way is also faster since just reffing the object doesn't do any
locking.
Timm Bäder [Thu, 17 Jan 2019 15:02:25 +0000 (16:02 +0100)]
scrolledwindow: Fix a event widget/event target mixup
Timm Bäder [Thu, 17 Jan 2019 15:02:13 +0000 (16:02 +0100)]
scrolledwindow: remove unused struct
Timm Bäder [Thu, 17 Jan 2019 14:55:57 +0000 (15:55 +0100)]
iconview: Fix scrolled drawing
We were only drawing the scrolled away first few items
Timm Bäder [Thu, 17 Jan 2019 07:22:00 +0000 (08:22 +0100)]
gl renderer: Don't add clip ops if the clip didn't change
Emmanuele Bassi [Fri, 18 Jan 2019 14:43:42 +0000 (14:43 +0000)]
switch: Update state labels when needed
If the text style changes, or the display settings do, we need to update
the state labels to ensure that the glyphs are available in the font
we're using.
Emmanuele Bassi [Wed, 9 Jan 2019 12:21:08 +0000 (12:21 +0000)]
docs: Point people at the right place for bugs
We don't use Bugzilla for GTK any more, so our documentation should
reflect that change.
Closes #1559
Emmanuele Bassi [Wed, 16 Jan 2019 23:43:14 +0000 (23:43 +0000)]
Merge branch 'get-timings-transfer' into 'master'
g-i: Add transfer none annotations for frame clock timings getters
See merge request GNOME/gtk!511
Tomasz Miąsko [Wed, 16 Jan 2019 00:00:00 +0000 (00:00 +0000)]
g-i: Add transfer none annotations for frame clock timings getters
Timm Bäder [Wed, 16 Jan 2019 18:20:53 +0000 (19:20 +0100)]
colorscale: Redraw correct widget after setting rgba
The entire color scale hack is still done in GtkRange, which draws the
color scale in the range gizmo. So, to correctly redraw the color scale
when setting a new color, we need to redraw the proper widget and that's
the trough widget.
Fixes #1453
Timm Bäder [Wed, 16 Jan 2019 18:16:47 +0000 (19:16 +0100)]
entry: Remove _gtk_entry_grab_focus
We have API for both the select and !select behavior these days, so use
that one.
Fixes #1457
Timm Bäder [Wed, 16 Jan 2019 16:37:42 +0000 (17:37 +0100)]
window: Directly find the cursor in the widget hierarchy
Instead of recording the way up from the target widget to the grab
widget (or toplevel) and then walking that path upwards, just walk the
parent chain and look at the cursor.
Timm Bäder [Wed, 16 Jan 2019 09:55:15 +0000 (10:55 +0100)]
scrolledwindow: Remove unused drag_device member
Timm Bäder [Wed, 16 Jan 2019 07:30:42 +0000 (08:30 +0100)]
snapshot: Add gtk_snapshot_from_parent
Most of the time, the GtkSnapshot objects we create while snapshotting
widgets don't end up containing all that many nodes or states in their
respective node or state stack. This undermines the amortized allocation
behavior of the G(Ptr)Array we use for the stacks. So instead, use the
(until now unused) parent_snapshot GtkSnapshot* passed to
gtk_widget_create_render_node and reuse its node and state stack.
We do not avoid allocating a new GtkSnapshot object, but we do avoid
allocating a ton of G(Ptr)Array objects and we also avoid realloc'ing
their storage.
Timm Bäder [Tue, 15 Jan 2019 05:11:03 +0000 (06:11 +0100)]
window: Don't manually queue a draw on the new focus widget
This is either unneeded and OK to remove, or it is needed and there's a
bug somewhere else.
Timm Bäder [Tue, 15 Jan 2019 15:26:13 +0000 (16:26 +0100)]
treeview: Don't get separator_height more than once
Closes !209
Timm Bäder [Tue, 15 Jan 2019 15:23:18 +0000 (16:23 +0100)]
treeview: cache expander size
We need to know it all the time and since we get it from CSS, doing that
is fairly expensive.
Daniel Mustieles [Wed, 16 Jan 2019 08:54:54 +0000 (09:54 +0100)]
Updated Spanish translation
Emmanuele Bassi [Tue, 15 Jan 2019 22:16:05 +0000 (22:16 +0000)]
Add fallback glyphs for GtkSwitch states
Even though the IEC power glyphs are part of Unicode 9.0 (released in
2016) not all fonts have them.
To avoid showing the hexbox of doom when the system font does not have
the glyphs we'd like to use, add a fallback pair, using the old glyphs
we suggested when the labels were translatable.
Carmen Bianca BAKKER [Mon, 14 Jan 2019 21:16:22 +0000 (21:16 +0000)]
Update Esperanto translation
Benjamin Otte [Mon, 14 Jan 2019 17:42:18 +0000 (18:42 +0100)]
rbtree: Fix removing last element
The refactoring of automatically updating tree->root when setting a
node's parent works very well - unless all nodes get removed and no
node's parent got updated.
Benjamin Otte [Mon, 14 Jan 2019 01:12:02 +0000 (02:12 +0100)]
rbtree: Make node getters not require tree argument
The tree is not needed to walk around the nodes.
It is however still needed for anything that requires modifying the
tree.
There is no immediate benefit in changing this API, but there might be
situations in the future where we can avoid looking up the tree when we
just want to check some details about the node.
Benjamin Otte [Mon, 14 Jan 2019 00:55:23 +0000 (01:55 +0100)]
rbtree: Add gtk_rb_tree_node_get_tree()
Store a link to the tree in the root node. This allows looking up the
tree in O(log N) from the node without any extra memory usage.
This is useful because code can just store a pointer to the node and
doesn't need to keep the tree pointer around. And that can (for large
trees) save quite a bit of memory.
Benjamin Otte [Mon, 14 Jan 2019 00:44:07 +0000 (01:44 +0100)]
rbtree: Access node->parent only via accessors
This also adds a set_parent() function that automatically takes care of
updating tree->root for root nodes.
Benjamin Otte [Sat, 12 Jan 2019 14:09:37 +0000 (15:09 +0100)]
rbtree: Remove gtk_rb_tree_find()
Searching through the tree is too specific to use a general function.
All the existing code just copies and slightly adapts the same 20 lines
instead, so there's no reason to keep the complicated API.
Matthias Clasen [Mon, 7 Jan 2019 04:37:32 +0000 (23:37 -0500)]
Rename GtkCssRBTree to GtkRBTree
This is a generally usable red-black tree api,
and it is not used in css at all.
Matthias Clasen [Mon, 7 Jan 2019 03:28:09 +0000 (22:28 -0500)]
Rename GtkRBTree to GtkTreeRBTree
This frees up the generic name for a more
generic rbtree implementation.
Timm Bäder [Sun, 13 Jan 2019 07:21:58 +0000 (08:21 +0100)]
gl renderer: Force blur shadow node children offscreen
This broke the overlay blur demoe when resizing the window to a size
that would completely move the image below a button, causing the
GtkSnapshot code to remove the clip node below the blur node.
Timm Bäder [Sun, 13 Jan 2019 06:47:53 +0000 (07:47 +0100)]
overlay: Directly create cairo_region
Instead of doing a cairo_region_create + union, just pass the rect
directly to cairo_region_create_rectangle
Timm Bäder [Sun, 13 Jan 2019 06:23:10 +0000 (07:23 +0100)]
rendernodepaintable: Don't try to snapshot 0×0 nodes
Considering the operations that some of the rendernode constructors
do, nodes with width or height 0 (or both of course) are very well
possible. This would break in the rendernodepaintable when adding a
transform, which divides by width/height of the rendernode.
Timm Bäder [Sun, 13 Jan 2019 05:35:44 +0000 (06:35 +0100)]
overlay: Blur the clipped node, not clip the blurred node
Blurring is a lot more expensive than clipping, so try to blur less by
clipping first.
Timm Bäder [Sun, 13 Jan 2019 04:49:26 +0000 (05:49 +0100)]
overlay: Trivial indentation fix
Timm Bäder [Sun, 13 Jan 2019 04:46:06 +0000 (05:46 +0100)]
demo: Fix tranparency overlay demo
We'd like the rose picture to be bigger than 16×16. Also remove the
scrolledwindow since the GtkPicture now automatically scales down the
rose image. This also fixes the picture always being allocated at y=0.
Timm Bäder [Sun, 13 Jan 2019 04:41:43 +0000 (05:41 +0100)]
overlay: Don't offset the main window snapshot
We need the node without an offset applied.
Fixes the rose picture being offset in tests/testoverlay
Timm Bäder [Sun, 13 Jan 2019 04:28:44 +0000 (05:28 +0100)]
testoverlay: Re-enable blurring
Accidentally disabled in
8b14c8d0a820e6617bd72a39a53d2ae6fa7b242b
Timm Bäder [Sat, 12 Jan 2019 07:03:47 +0000 (08:03 +0100)]
label: Add missing nullable annotation
Piotr Drąg [Sat, 12 Jan 2019 12:19:35 +0000 (13:19 +0100)]
Update Polish translation
Mike Gorse [Fri, 11 Jan 2019 22:21:21 +0000 (16:21 -0600)]
A11y: export gtk_cell_accessible_parent_get_(row|column)_header_cells
These functions were missing GDK_AVAILABLE_IN macros, so they were
listed in the gir but not exported.
Timm Bäder [Fri, 11 Jan 2019 17:17:08 +0000 (18:17 +0100)]
spinbutton: Use increment/decrement icon names
And add list-{remove,add}-symbolic as fallback.
Fixes #1569
Timm Bäder [Fri, 11 Jan 2019 16:46:12 +0000 (17:46 +0100)]
label: Skip updating link state if we have no layout
This can happen whenever the ::activate-link handler sets different
markup on the label, causing all links to be recreated. In this case,
the GtkLabelLink* passed to emit_activate_link is garbage after the
g_signal_emit call and we shouldn't try to do anything with it.
Fixes #1498
Timm Bäder [Fri, 11 Jan 2019 09:05:44 +0000 (10:05 +0100)]
snapshot: Get new GArray item directly
Instead of building it up ourselves, then coping it into the GArray and
then getting the last element of that array.
Emmanuele Bassi [Fri, 11 Jan 2019 15:21:09 +0000 (15:21 +0000)]
Use the IEC power symbols for GtkSwitch labels
Unicode 9.0 introduced glyps for the "on" and "off" power states, in the
form of:
- U+23FD POWER ON SYMBOL, or ⏽
- U+2B58 HEAVY CIRCLE, or ⭘
With `HEAVY CIRCLE` as "power off symbol" selected to avoid adding yet
another circle to the standard.
Since we moved GtkSwitch to always show glyphs instead of (translatable)
strings, asking the localisation teams to either come up with a suitable
short string to replace the English "ON" and "OFF", or to fall back to
Unicode glyphs, we should ensure we're using the appropriate symbols to
begin with.
See also: gtk!503 for the corresponding gtk-3-24 change.
Timm Bäder [Fri, 11 Jan 2019 11:38:27 +0000 (11:38 +0000)]
Merge branch 'wip/muktupavels/listbox-master' into 'master'
listbox: set selected_row before emitting signal
See merge request GNOME/gtk!502
Alberts Muktupāvels [Tue, 1 Jan 2019 23:14:17 +0000 (01:14 +0200)]
listbox: set selected_row before emitting signal
Signal emittion was added in
6f857f87dcd9 commit and it seems that
this is only place where selected_row is set after emitting signal.
Because of this gtk_list_box_get_selected_row currently returns NULL
as selected row if selection mode is set to GTK_SELECTION_BROWSE.
Timm Bäder [Fri, 11 Jan 2019 09:39:25 +0000 (09:39 +0000)]
Merge branch 'wip/dboles/EventControllerKey-docs-4' into 'master'
EventControllerKey: Add missing documentation bits
See merge request GNOME/gtk!454
Matthias Clasen [Thu, 10 Jan 2019 22:20:45 +0000 (17:20 -0500)]
switch: Always use I/O
This allows for smaller switches, and goes better with
modern themes that have round switches.
Timm Bäder [Thu, 10 Jan 2019 16:14:48 +0000 (17:14 +0100)]
gl renderer: Dont't try to draw glyphs at scale 0
Fixes #1475
Timm Bäder [Sun, 6 Jan 2019 14:35:54 +0000 (15:35 +0100)]
gl glyphcache: Only support one dirty glyph per atlas
Timm Bäder [Sun, 6 Jan 2019 14:05:25 +0000 (15:05 +0100)]
testoverlay: Fix fancy effect
Timm Bäder [Sun, 6 Jan 2019 10:08:09 +0000 (11:08 +0100)]
iconcache: Remove unused defines
Timm Bäder [Sun, 6 Jan 2019 09:59:21 +0000 (10:59 +0100)]
gl renderer: Remove debug code